Expand description
Modern, modular and hierarchical way to define complex behaviors using simple building blocks.
Main concepts
- Task - Units of work performed in time (
crate::task
) - Decision Makers - State change engines (
crate::decision_makers
) - Condition- Answers to questions about certain memory states (
crate::condition
.crate::combinators
) - Considerations - Scored probabilities of certain memory states (
crate::consideration
,crate::evaluators
) - Memory - Memory is the state passed to all concepts listed above to be read/write by them. In other AI systems memory is also known as blackboard or context.
Note that AI techniques provided by this library are usable not only for agent behaviors but also for building emergent storytelling when used for smart world events generation. In fact AI can be used for automation and modularization of many aspects of game logic, not only agents and events - consider your creativity being the only limit of what AI techniques can be used for.
Modules
- Helpers used to simplify building commonly used AI techniques.
- Combinators are operations on sets of conditions.
- Conditions serve purpose of a boolean query to the memory state.
- Considerations are used to tell possibility, how important certain fact about the world is.
- Decision makers are engines that usually contain states and decide under what circumstances switch into which state.
- Evaluators are operations on sets of considerations.
- Generalized memory data stratctures.
- Score mappings are used to remap scores calculated by considerations.
- Tasks are units of work that perform small and concrete actions in time via memory manipulation.